package com.ssy.lingxi.order.model.vo.buyer.response;

import com.ssy.lingxi.order.model.vo.basic.response.*;

import java.io.Serializable;
import java.util.List;

/**
 * 采购订单详情
 * @author 万宁
 * @version 2.0.0
 * @date 2021-07-19
 */
public class BuyerOrderDetailVO extends OrderDetailVO implements Serializable {
    private static final long serialVersionUID = -8459494436183360010L;

    /**
     * 前端商城Id
     */
    private Long shopId;

    /**
     * 供应会员Id
     */
    private Long vendorMemberId;

    /**
     * 供应会员角色Id
     */
    private Long vendorRoleId;

    /**
     * 供应会员名称
     */
    private String vendorMemberName;

    /**
     * 是否全部收货完成
     */
    private Boolean receiveDone;

    /**
     * 是否是“拼团订单”
     */
    private Boolean groupOrder;

    /**
     * 营销活动（拼团）状态枚举，0-无营销活动，1-拼团中，2-等待拼团确认，3-拼团失败，4-拼团成功
     */
    private Integer promotionStatus;

    /**
     * 营销活动（拼团）状态名称
     */
    private String promotionStatusName;

    /**
     * 订单商品信息
     */
    private OrderProductSummaryVO product;

    /**
     * 订单支付记录
     */
    private List<BuyerOrderPaymentDetailVO> payments;

    /**
     * 交付信息
     */
    private OrderConsigneeDetailVO consignee;

    /**
     * 合同信息
     */
    private OrderContractDetailVO contract;

    /**
     * 发票信息
     */
    private OrderInvoiceDetailVO invoice;

    /**
     * 其他要求
     */
    private OrderRequirementDetailVO requirement;

    /**
     * 收发货统计
     */
    private List<OrderDeliverySummaryVO> deliveries;

    /**
     * 收发货明细
     */
    private List<BuyerOrderDeliveryDetailVO> deliveryDetails;

    /**
     * 是否显示“申请开票“按钮
     */
    private Boolean showApplyInvoice;

    /**
     * 是否显示“税费“按钮
     */
    private Boolean showTaxes;

    public Long getShopId() {
        return shopId;
    }

    public void setShopId(Long shopId) {
        this.shopId = shopId;
    }

    public Long getVendorMemberId() {
        return vendorMemberId;
    }

    public void setVendorMemberId(Long vendorMemberId) {
        this.vendorMemberId = vendorMemberId;
    }

    public Long getVendorRoleId() {
        return vendorRoleId;
    }

    public void setVendorRoleId(Long vendorRoleId) {
        this.vendorRoleId = vendorRoleId;
    }

    public String getVendorMemberName() {
        return vendorMemberName;
    }

    public void setVendorMemberName(String vendorMemberName) {
        this.vendorMemberName = vendorMemberName;
    }

    public Boolean getReceiveDone() {
        return receiveDone;
    }

    public void setReceiveDone(Boolean receiveDone) {
        this.receiveDone = receiveDone;
    }

    public Boolean getGroupOrder() {
        return groupOrder;
    }

    public void setGroupOrder(Boolean groupOrder) {
        this.groupOrder = groupOrder;
    }

    public Integer getPromotionStatus() {
        return promotionStatus;
    }

    public void setPromotionStatus(Integer promotionStatus) {
        this.promotionStatus = promotionStatus;
    }

    public String getPromotionStatusName() {
        return promotionStatusName;
    }

    public void setPromotionStatusName(String promotionStatusName) {
        this.promotionStatusName = promotionStatusName;
    }

    public OrderProductSummaryVO getProduct() {
        return product;
    }

    public void setProduct(OrderProductSummaryVO product) {
        this.product = product;
    }

    public List<BuyerOrderPaymentDetailVO> getPayments() {
        return payments;
    }

    public void setPayments(List<BuyerOrderPaymentDetailVO> payments) {
        this.payments = payments;
    }

    public OrderConsigneeDetailVO getConsignee() {
        return consignee;
    }

    public void setConsignee(OrderConsigneeDetailVO consignee) {
        this.consignee = consignee;
    }

    public OrderContractDetailVO getContract() {
        return contract;
    }

    public void setContract(OrderContractDetailVO contract) {
        this.contract = contract;
    }

    public OrderInvoiceDetailVO getInvoice() {
        return invoice;
    }

    public void setInvoice(OrderInvoiceDetailVO invoice) {
        this.invoice = invoice;
    }

    public OrderRequirementDetailVO getRequirement() {
        return requirement;
    }

    public void setRequirement(OrderRequirementDetailVO requirement) {
        this.requirement = requirement;
    }

    public List<OrderDeliverySummaryVO> getDeliveries() {
        return deliveries;
    }

    public void setDeliveries(List<OrderDeliverySummaryVO> deliveries) {
        this.deliveries = deliveries;
    }

    public List<BuyerOrderDeliveryDetailVO> getDeliveryDetails() {
        return deliveryDetails;
    }

    public void setDeliveryDetails(List<BuyerOrderDeliveryDetailVO> deliveryDetails) {
        this.deliveryDetails = deliveryDetails;
    }

    public Boolean getShowApplyInvoice() {
        return showApplyInvoice;
    }

    public void setShowApplyInvoice(Boolean showApplyInvoice) {
        this.showApplyInvoice = showApplyInvoice;
    }

    public Boolean getShowTaxes() {
        return showTaxes;
    }

    public void setShowTaxes(Boolean showTaxes) {
        this.showTaxes = showTaxes;
    }
}
